using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DeckBigCard")]
	public class DeckBigCard : MonoBehaviour
	{
		public GameObject m_topPosition => method_3<GameObject>("m_topPosition");

		public GameObject m_bottomPosition => method_3<GameObject>("m_bottomPosition");

		public Material m_missingCardMaterial => method_3<Material>("m_missingCardMaterial");

		public Material m_ghostCardMaterial => method_3<Material>("m_ghostCardMaterial");

		public Material m_invalidCardMaterial => method_3<Material>("m_invalidCardMaterial");

		public HandActorCache m_actorCache => method_3<HandActorCache>("m_actorCache");

		public bool m_actorCacheInit => method_2<bool>("m_actorCacheInit");

		public bool m_shown => method_2<bool>("m_shown");

		public EntityDef m_entityDef => method_3<EntityDef>("m_entityDef");

		public TAG_PREMIUM m_premium => method_2<TAG_PREMIUM>("m_premium");

		public CardDef m_cardDef => method_3<CardDef>("m_cardDef");

		public Actor m_shownActor => method_3<Actor>("m_shownActor");

		public Actor m_shownHeroPowerActor => method_3<Actor>("m_shownHeroPowerActor");

		public GhostCard.Type m_ghosted => method_2<GhostCard.Type>("m_ghosted");

		public int m_firstShowFrame => method_2<int>("m_firstShowFrame");

		public static float HERO_POWER_TWEEN_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "DeckBigCard", "HERO_POWER_TWEEN_TIME");

		public DeckBigCard(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DeckBigCard(IntPtr address)
			: this(address, "DeckBigCard")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Show(EntityDef entityDef, TAG_PREMIUM premium, CardDef cardDef, Vector3 sourcePosition, GhostCard.Type ghosted, float delay)
		{
			method_9("Show", new Class276.Enum20[6]
			{
				Class276.Enum20.Class,
				Class276.Enum20.ValueType,
				Class276.Enum20.Class,
				Class276.Enum20.ValueType,
				Class276.Enum20.ValueType,
				Class276.Enum20.R4
			}, entityDef, premium, cardDef, sourcePosition, ghosted, delay);
		}

		public void Hide(EntityDef entityDef, TAG_PREMIUM premium)
		{
			method_9("Hide", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.ValueType
			}, entityDef, premium);
		}

		public void ForceHide()
		{
			method_8("ForceHide");
		}

		public void OnActorLoaded(string assetName, Actor actor, object callbackData)
		{
			method_8("OnActorLoaded", assetName, actor, callbackData);
		}

		public void Show(float sourceZ)
		{
			method_9("Show", new Class276.Enum20[1] { Class276.Enum20.R4 }, sourceZ);
		}

		public void Hide()
		{
			method_9("Hide", new Class276.Enum20[0]);
		}

		public void ShowHeroPowerCard(string heroPowerCardId, TAG_PREMIUM premium)
		{
			method_8("ShowHeroPowerCard", heroPowerCardId, premium);
		}

		public void OnHeroPowerActorLoaded(AssetReference assetRef, GameObject actorGameObject, string heroPowerCardId, TAG_PREMIUM premium)
		{
			method_8("OnHeroPowerActorLoaded", assetRef, actorGameObject, heroPowerCardId, premium);
		}

		public void HideHeroPowerCard()
		{
			method_8("HideHeroPowerCard");
		}
	}
}
